﻿//
// GrepEngine
//
// Copyright (C) 2011 - Tatsuya Niioka
//

namespace GrepEngine
{
    /// <summary>
    /// GrepMatchクラス
    /// </summary>
    public class GrepMatche
    {
        #region Index
        private int m_index;
        /// <summary>
        /// インデックスを取得します。
        /// </summary>
        public int Index
        {
            get { return m_index; }
            private set { m_index = value; }
        }
        #endregion

        #region Length
        private int m_length;
        /// <summary>
        /// 長さを取得します。
        /// </summary>
        public int Length
        {
            get { return m_length; }
            private set { m_length = value; }
        }
        #endregion

        #region ColumnIndex
        private int m_columnIndex;
        /// <summary>
        /// カラム位置を取得します。
        /// </summary>
        public int ColumnIndex
        {
            get { return m_columnIndex; }
            private set { m_columnIndex = value; }
        }
        #endregion

        #region LineNumber
        private int m_lineNumber;
        /// <summary>
        /// 行番号を取得します。
        /// </summary>
        public int LineNumber
        {
            get { return m_lineNumber; }
            private set { m_lineNumber = value; }
        }
        #endregion

        #region Text
        private string m_text;
        /// <summary>
        /// テキストを取得します。
        /// </summary>
        public string Text
        {
            get { return m_text; }
            private set { m_text = value; }
        }
        #endregion

        #region Constructor
        /// <summary>
        /// 指定したインデックス、長さ、行番号、カラム位置、テキストで新しい<see cref="GrepMatche"/>クラスを生成します。
        /// </summary>
        /// <param name="index">インデックス</param>
        /// <param name="length">長さ</param>
        /// <param name="lineNumber">行番号</param>
        /// <param name="columnIndex">カラム位置</param>
        /// <param name="text">テキスト</param>
        public GrepMatche(int index, int length, int lineNumber, int columnIndex, string text)
        {
            Index = index;
            Length = length;
            LineNumber = lineNumber;
            ColumnIndex = columnIndex;
            Text = text;
        }
        #endregion
    }
}
